#include "ProcessBar.h"
#include <string.h>
//void ForTest()
//{
//    printf("this is for test\n");
//    printf("this is for test\n");
//    printf("this is for test\n");
//    printf("this is for test\n");
//    printf("this is for test\n");
//    printf("this is for test\n");
//}

#define Length 101
#define Style '#'

const char* lable = "|/-\\";

//version 1
//void ProcBar()
//{
//    char bar[Length];
//    memset(bar, '\0', sizeof bar);
//
//    int cnt = 0;
//    int len = strlen(lable);
//    while (cnt <= 100)
//    {
//        printf("[%-100s][%3d%%][%c]\r", bar, cnt, lable[cnt%len]);
//        fflush(stdout);
//        bar[cnt++] = Style;
//        usleep(50000);
//    }
//
//    printf("\n");
//}

//version2
void  ProcBar(double total, double current)
{
    char bar[Length];
    memset(bar, '\0', sizeof bar);

    int cnt = 0;
    int len = strlen(lable);
    double rate = current*100.0/total;
    int loop_count = (int)rate;
    while (cnt < loop_count)
    {
        bar[cnt++] = Style;
    }
    printf("[\033[32m%-100s\033[0m][%.1lf%%][%c]\r", bar, rate, lable[cnt%len]);
    fflush(stdout);
}





